@charset "utf-8";
@import"./common.scss";

.banner{
    .carousel{
        .item{
            img{
                width: 100%;
            }
        }
        .carousel-control{
            background-image: none;
        }
    }
}

.engine{
    background-color: #fbfaf7;
    padding-top: 105px;
    padding-bottom: 35px;

    .engine-title{
        margin-bottom: 34px;
        font-size: 48px;
        color: #0078d7;
        font-weight: bold;
    }
    .engine-intra{
        margin-bottom: 78px;
        font-size: 30px;
        color: #666;
    }
    .char{
        margin-bottom: 46px;
        display: flex;
        align-items: flex-start;

        .char-img{
            margin-right: 14px;
            position: relative;
            width: 22%;
            padding-top: 22%;
            background-color: #0078d7;
            flex: 0 0 auto;
            border-radius: 5px;

            img{
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%,-50%);
                width: 50%;
            }
        }

        &:nth-child(2){
            img{
                width: 70%;
            }
        }
        &:nth-child(3){
            img{
                width: 60%;
            }
        }
        &:nth-child(4){
            img{
                width: 70%;
            }
        }

        .char-text{
            font-size: 19px;
            color: #333;
            font-weight: 500;
    
            p:last-child{
                margin-bottom: 0;
                font-size: 14px;
                color: #666;
            }
        }
    }

    .s-phone{
        width: 100%;
        margin-top: 72px;
    }

    .engine-box{
        display: flex;
        flex-wrap: wrap;
    }
}

.adv{
    background-color: #fff;
    padding-bottom: 105px;
    .adv-title{
        color: #8fc31f;
        margin-bottom: 45px;
        font-size: 48px;
        font-weight: bold;
        
    }

    .adv-wrapper{
        li{
            display: flex;
            align-items: center;
            margin-bottom: 16px;   
            .adv-img{
                position: relative;
                width: 9%;
                padding-top: 9%;
                background-color: #8fc31f;
                border-radius: 50%;
                img{
                    position: absolute;
                    left: 50%;
                    top: 50%;
                    width: 55%;
                    transform: translate(-50%,-50%);
                }
            }
            &:nth-child(3){
                .adv-img{
                    img{
                        width: 45%;
                    }
                }
            }
            .adv-img+p{
                margin-left: 10px;
                font-size: 14px;
                color: #666;
                margin-bottom: 0;
            }
        }
    }
        
}

.product{
    padding-top: 115px;
    padding-bottom: 145px;
    background-color: #0079d7;

    .container{
        color: #fff;
        h2{
            margin: 0;
            margin-bottom: 72px;
            text-align: center;
            font-size: 48px;
        }
        .product-box{
            display: flex;
            flex-wrap: wrap;
            justify-content: space-around;

            &::before,&::after{
                flex-basis: 100%;
            }
            .product-wrapper{
                margin-bottom: 76px;
                display: flex;
                justify-content: space-between;
    
                .img-box{
                    position: relative;
                    padding-top: 16%;
                    width: 16%;
    
                    img{
                        position: absolute;
                        top: 0;
                        left: 0;
                        width: 100%;
                    }
                }
    
                .product-text{
                    font-size: 32px;
                    flex: 0 0 78%;
                    p:first-child{
                        line-height: 100%;
                    }
    
                    p:last-child{
                        font-size: 14px;
                        word-break: break-all;
                        line-height: 180%;
                    }
                }
            }
        }
        
    }
}

.case{
    padding-top: 90px;
    padding-bottom: 38px;
    .container{
        .case-text{
            display: flex;
            justify-content: space-between;
            align-items: center;
            font-size: 34px;
            color: #2a2a2a;

            span:last-child{
                font-size: 14px;
            }
        }
        .case-box{
            margin-top: 45px;
        }
        .game-wrapper{
            margin-left: 8.33333333%;
            padding-left: 0;
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;

            .game{
                margin-bottom: 12px;
                margin-left: 3%;
                flex: 0 0 12%;
                text-align: center;
                img{
                    width: 100%;
                }
            }
        }
    }
}

.coop{
    padding-bottom: 64px;
    background-color: #f4f4f4;
    .container{
        h2{
            font-size: 30px;
            color: #2a2a2a;
            sub{
                font-size: 40%;
                color: #777;
            }
        }
        .coop-wrapper{
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;

            .coop-item{
                margin-top: 20px;
                flex: 0 0 15%;

                img{
                    width: 100%;
                }
            }
        }
        
    }
}

@media screen and (max-width:992px){
    .engine{
        .engine-title{
            margin-bottom: 10px;
            font-size: 30px;
        }
        .engine-intra{
            font-size: 20px;
            margin-bottom: 20px;
        }

        .char{
            margin-bottom: 25px;
            .char-text{
                font-size: 14px;
            }

            p:last-child{
                font-size: 12px;
            }
        }
    }

    .adv{
        padding-top: 40px;
        padding-bottom: 40px;

        .adv-title{
            margin-bottom: 10px;
            font-size: 30px;
        }

        .adv-wrapper{
            li{
                margin-bottom: 10px;
                .adv-img + p{
                    font-size: 12px; 
                }  
            }
        }

        .s-phone{
            margin-top: 40px;
        }
    }

    .product{
        padding-top: 50px;
        padding-bottom: 20px;
        .container{
            h2{
                margin-bottom: 30px;
                font-size: 30px;
            }

            .product-box{
                .product-wrapper{
                    margin-bottom: 20px;

                    .product-text{
                        font-size: 20px;
                        p:last-child{
                            font-size: 12px;
                        }
                    }
                }
            }
        }
    }

    .case{
        padding-top: 50px;

        .container{
            .case-box{
                margin-top: 20px;
            }
        }
        
    }
}

@media screen and (max-width: 767px){
    .engine{
        padding-top: 20px;
        padding-bottom: 20px;
        .phone-box{
            text-align: center;
            .s-phone{
                width: 50%;
            }
        }
        .char{
            margin-bottom: 20px;
        }
        .engine-title{
            text-align: center;
            font-size: 26px;
        }
        .engine-intra{
            text-align: center;
            font-size: 16px;
        }
        
    }
    
    .adv{
        .adv-title{
            font-size: 26px;
            text-align: center;
            
        }

        .adv-wrapper{
            padding-left: 18%;
        }
    }

    .case{
        .container{
            .case-text{
                span:first-child{
                    font-size: 26px;
                }
            }
            .game-wrapper{
                margin-top: 20px;
                margin-left: 0;
                display: flex;
                justify-content: space-evenly;

                .game{
                    margin-left: 0;
                    flex-basis: 21%;
                    padding-left: 2%;
                    padding-right: 2%;
                    font-size: 12px;
                }
            }
        }
    }

        
}

@media screen and (min-width: 992px) and (max-width: 1200px){
    .engine{
        .engine-title{
            margin-bottom: 20px;
        }
        .engine-intra{
            margin-bottom: 40px;
        }
        .char{
            margin-bottom: 30px;
        }
    }

    .product{
        padding-top: 60px;
        padding-bottom: 0;

        .container{
            h2{
                margin-bottom: 60px;

            }
            .product-box{
                margin-bottom: 50px;
            }
        }
    }
}

